package RapiWeb;

import Utilidades.Archivo;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class JP_Capa extends JPanel {

    private JButton btn_Abrir;
    private JButton btn_Guardar;
    private JTextArea txt_Area;
    private JComboBox cbx_Capa;
    private JF_Principal principal;
    private String str_Mensaje;
    
    private JButton btn_NomTabla;
    //Datos
    private JButton btn_NomClase;
    private JButton btn_Add;
    private JButton btn_Parametros;
    private JButton btn_NomPaquete;
    private JButton btn_Comentarios;
    //Entidad
    private JButton btn_Property;
    private JButton btn_Variables;

    
    

    public JP_Capa(JF_Principal principal) {
        this.principal = principal;
        setLayout(new BorderLayout());
        setBackground(Color.red);
        addComponentes();
        addEventos();

    }

    private void addComponentes() {
        JPanel p_Norte = new JPanel();
        JPanel p_Datos[] = new JPanel[3];
        for (int i = 0; i < p_Datos.length; i++) {
            p_Datos[i] = new JPanel();
            p_Datos[i].setLayout(new GridLayout(3, 1));
        }
        JLabel lbl_Masters = new JLabel("Capa:");
        btn_Abrir = new JButton("Abrir");
        btn_Guardar = new JButton("Guardar");
        cbx_Capa = new JComboBox(principal.getStr_Capas());
        JButton btn_Vacio = new JButton(" ");
        btn_Vacio.setOpaque(false);
        btn_Vacio.setBorderPainted(false);
        btn_Vacio.setEnabled(false);
        btn_Vacio.setVisible(false);

        p_Datos[0].add(lbl_Masters);
        p_Datos[0].add(btn_Vacio);

        p_Datos[1].add(cbx_Capa);

        p_Datos[2].add(btn_Abrir);
        p_Datos[2].add(btn_Guardar);

        for (int i = 0; i < p_Datos.length; i++) {
            p_Norte.add(p_Datos[i]);
        }

        txt_Area = new JTextArea();
        txt_Area.setVisible(false);
        JScrollPane sp_Area = new JScrollPane(txt_Area);
        add(p_Norte, "North");
        add(sp_Area, "Center");

    }

    private JPanel m_PanelHerramientas(){
        JPanel panel= new JPanel();
        
        return panel;
    }
    private void addEventos() {
        btn_Abrir.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String str_NomArchivo = "" + (String) cbx_Capa.getSelectedItem();
                if (!str_NomArchivo.equals("null")) {
                    Archivo archivo = new Archivo();
                    archivo.m_LeerArchivo(principal.getStr_DirecCapas() + str_NomArchivo);
                    txt_Area.setText(archivo.dameContenido());
                    txt_Area.setVisible(true);
                }
            }
        });

        btn_Guardar.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    Archivo archivo = new Archivo();
                    String str_nomArchivo = principal.getStr_DirecCapas() + (String) cbx_Capa.getSelectedItem();
                    archivo.m_CrearCarpeta(principal.getStr_DirecCapas());
                    archivo.m_CrearArchivo(str_nomArchivo);
                    archivo.m_SobreEscribir(str_nomArchivo, txt_Area.getText());
                    JOptionPane.showMessageDialog(principal, "Capa Guardada.");
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(principal, "Excepcion: "+ex.getMessage());
                }

            }
        });
    }
}
